package Day15.super关键字;

/**
 * 基本介绍：
 * super代表的是父类的引用，用于访问父类的属性，方法，构造器
 * <p>
 * 基本语法：
 * 1.访问父类的属性，但是不能访问父类的private属性 super.属性名
 * 2.访问父类的方法，但是不能访问父类的private方法 super.方法名(参数列表)
 * 3.访问父类的构造器 super.(参数列表);只能放在构造器的第一句，只能出现一句
 *
 * super带给编程的便利
 * 1.调用父类构造器的好处(分工明确，父类属性由父类初始化，子类的属性由子类初始化)
 * 2.当子类中有父类的成员，(属性和方法)重名，为了访问父类的成员，必须要通过super。如果没有重名，使用super，
 * this，直接访问是一样的效果！
 * 3.super他的访问不限于直接父类，如果爷爷类和本类中有同名的成员，也可以使用super去访问爷爷类的成员；
 * 如果多个基类(上级类)中都有同名的成员，使用super访问遵循就近原则。当然也要遵循访问权限的相关规则。
 */
public class Super01 {
    public static void main(String[] args) {
        B b = new B();
        //b.sum();
        b.test();
    }
}
